<?
	/* Se asegura que el archivo es incluido por el index */
		defined( 'LOAD_MODULE_ACTION' ) or die( 'No esta permitido el acceso directo a ' . __FILE__ );
	/* Cuando se hace el include del archivo automaticamente crea un objeto y lo guarda en una variable temporal */
		$this->oTmpObject = new Establecimiento_Funcion_lst( $this );

	class Establecimiento_Funcion_lst extends Lst
	{
	function Establecimiento_Funcion_lst( &$oModule )
		{
			$this->Lst ( $oModule );
		}
	function initialize()
		{
			$this->oFiltro = $this->oModule->loadClass( 'establecimiento_funcion_frm' );
			$this->aFields = array_merge ( (array)$this->aFields,  (array)$this->oFiltro->getFieldArray() );
			
			$this->setTitle ( "Funciones" );
			$this->setSummary( "Esta tabla contiene el listado de Funciones de un Establecimiento" );
			$this->addColumnMultiLanguage ( 'Funcion', 'cdFuncion', 'es' );
			$this->addColumnBool ( 'Activo', 'bActivo');
			$this->addColumnMultiLanguage ( 'Categoria', 'cdCategoriaEstablecimiento', 'es' );
		}
	function query()
		{
			// Arma el Query
			$cSql = "SELECT Tab.ncEstablecimiento, Tab.ncFuncion, Act.cdFuncion, CaE.cdCategoriaEstablecimiento, bActivo
										FROM gtEstablecimientoFuncion as Tab
										LEFT JOIN gcCategoriaEstablecimiento as CaE
											ON CaE.ncFuncion = Tab.ncFuncion
											AND CaE.ncCategoriaEstablecimiento = Tab.ncCategoriaEstablecimiento
										JOIN gcFuncion as Act
											ON Act.ncFuncion = Tab.ncFuncion";
			// Arma el Filtro de la Consulta
				$this->oWhere->addArray ( $this->oFiltro->getFilterdArray('Tab') );
			return $cSql . $this->oWhere->make();
		}
	function makeListActions()
		{
			$this->oModule->setBack();
			$cParametroRegistro =  $this->getFieldString();
			$this->addListAction ( AGREGAR_UNA_FUNCION_A_UN_ESTABLECIMIENTO, $cParametroRegistro , 'I', VENTANA_SECUNDARIA );
		}
	function makeRowActions( $aRow )
		{
			$cParametroRegistro =   "ncEstablecimiento=" . $aRow["ncEstablecimiento"] . "&amp;ncFuncion=" . $aRow["ncFuncion"];
			$this->addRowAction ( MODIFICAR_UNA_FUNCION_A_UN_ESTABLECIMIENTO, $cParametroRegistro , '', VENTANA_SECUNDARIA);
			$this->addRowAction ( ELIMINAR_UNA_FUNCION_DE_UN_ESTABLECIMIENTO,  $cParametroRegistro );
		}
	}
?>
